import express, { Router } from 'express';
import { CategoryController } from '../controllers/CategoryController';
import { authMiddleware } from '../middleware/auth';
import { validateObjectId } from '../middleware/lessonPlanValidation';

const router: Router = express.Router();
const categoryController = new CategoryController();

// 获取所有分类
router.get('/', categoryController.getAll);

// 获取单个分类
router.get('/:id', validateObjectId, categoryController.getById);

// 初始化默认分类数据（管理员）
router.post('/initialize', authMiddleware, categoryController.initializeDefaultCategories);

// 创建分类（管理员）
router.post('/', authMiddleware, categoryController.create);

// 更新分类顺序（管理员）
router.put('/order', authMiddleware, categoryController.updateOrder);

// 更新分类（管理员）
router.put('/:id', authMiddleware, validateObjectId, categoryController.update);

// 删除分类（管理员）
router.delete('/:id', authMiddleware, validateObjectId, categoryController.delete);

export default router;